package org.dtrevien.metamodel.java.visitor;

import org.dtrevien.metamodel.java.Classe;
import org.dtrevien.metamodel.java.ClasseAggregationReference;
import org.dtrevien.metamodel.java.ClasseCompositionReference;
import org.dtrevien.metamodel.java.ClasseExtendReference;
import org.dtrevien.metamodel.java.ClasseImplementReference;
import org.dtrevien.metamodel.java.Constructeur;
import org.dtrevien.metamodel.java.Import;
import org.dtrevien.metamodel.java.Methode;
import org.dtrevien.metamodel.java.ObjectList;
import org.dtrevien.metamodel.java.Value;

public abstract class Visitor {

	public abstract void visiteClasse(Classe c);
	
	public abstract void visiteClasseAggregationReference(ClasseAggregationReference c);
	public abstract void visiteClasseCompositionReference(ClasseCompositionReference c);
	public abstract void visiteClasseImplementReference(ClasseImplementReference c);
	public abstract void visiteClasseExtendsReference(ClasseExtendReference c);
	public abstract void visiteValue(Value v);
	public abstract void visiteObjectList(ObjectList objectList);

	public abstract void visiteMethode(Methode v);
	public abstract void visiteSystem(org.dtrevien.metamodel.java.Systeme s);
	public abstract void visitImport(Import i);
	public abstract void visitConstructeur(Constructeur c);
	
}
